
#ifndef AE_H
#define AE_H
#include <irrlicht.h>
#include "globals.h"
//---------------------------------------------------------------------------------------------------------------------------
bool checkObjectStrtEndFrames(int startFrame, int endFrame, IAnimatedMeshSceneNode* object);

//---------------------------------------------------------------------------------------------------------------------------
IAnimatedMeshSceneNode* makeAnimatedSimpleObject(const c8 *meshFilePath, const c8 *textureFilePath, bool dynamicLighting = false, 
ISceneNode*parent = 0, vector3df scale = vector3df(1,1,1), bool animate = false, 
bool loopAnim = true, s32 frameLoopStrt = -1, s32 frameLoopEnd = -1,f32 animFPS = -1);

//---------------------------------------------------------------------------------------------------------------------------
ISceneNode* makeObject(const c8 *meshFilePath, const c8 *textureFilePath, bool dynamicLighting = false, 
bool parralax = false, bool normalMap = false, const c8 *bumpMapFilePath ="");

//---------------------------------------------------------------------------------------------------------------------------
IParticleSystemSceneNode* makeSimpleParticleSystem(const c8* particleTextFilePath = "", dimension2d<f32> particleSize = core::dimension2d<f32>(30.0f, 40.0f), 
bool hasLight = true,video::SColorf lightColor = video::SColorf(1.0f, 0.0f, 0.0f, 0.0f), float lightRange = 800.0f, bool hasBillBoard = false, const c8* billBoardFilePathImg = "", 
core::aabbox3d<f32> boxEmmitterSize = core::aabbox3d<f32>(-3,0,-3,3,1,3), core::vector3df emDirection = core::vector3df(0.0f,0.03f,0.0f), 
u32 minParticlesPerSec = 80, u32 maxParticlesPerSec = 100, video::SColor minStrtColor = video::SColor(0,255,255,255), 
video::SColor maxStrtColor = video::SColor(0,255,255,255), u32 lifeTimeMin = 400, u32 lifeTimeMax = 1100);

//---------------------------------------------------------------------------------------------------------------------------
void setCollisionWithObject(ISceneNode* a_obj, const c8 * a_objMeshFilePath, ISceneNode* a_obj2, const c8 * a_obj2MeshFilePath);

#endif